package com.yaoxun.bored.util;

import java.util.List;

import org.apache.commons.codec.digest.DigestUtils;
import org.apache.commons.collections.CollectionUtils;
import org.apache.shiro.SecurityUtils;

import com.yaoxun.bored.model.sys.role.SessionRole;
import com.yaoxun.bored.model.sys.user.SessionUser;

/**
 * 公共工具类
 * 
 * @author Loren
 * @createTime 2018年1月29日 上午11:42:48
 */
public class CommonUtils {

	/**
	 * 
	 * @author Loren
	 * @createTime 2018年1月29日 上午11:44:14
	 * @param value
	 * @return
	 */
	public static String md5(String value) {
		return DigestUtils.md5Hex(value);
	}
	
	/**
	 * 获取当前会话用户
	 * @author Loren
	 * @createTime 2018年2月27日 下午2:30:15
	 * @return
	 */
	public static SessionUser getSessionUser() {
		SessionUser sessionUser = (SessionUser) SecurityUtils.getSubject().getPrincipal();
		return sessionUser;
	}
	
	/**
	 * 获取登录用户的角色ID列表
	 * @author Loren
	 * @createTime 2018年2月27日 下午2:24:21
	 * @return 有角色ID，就会返回数组，没有返回null
	 */
	public static Integer[] getRoleIds() {
		SessionUser sessionUser = getSessionUser();
		List<SessionRole> roles = sessionUser.getSessionRoles();
		if(CollectionUtils.isNotEmpty(roles)) {
			Integer[] roleIds = new Integer[roles.size()];
			for(int i=0; i<roles.size(); i++) {
				roleIds[i] = roles.get(i).getRoleId();
			}
			return roleIds;
		}
		return null;
	}
	
}
